home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_c / cpptut22 / unionex.cpp < prev    next >
C/C++ Source or Header  |  1992-01-19  |  968b  |  44 lines

  1.                                      // Chapter 2 - Program 4
  2. #include <iostream.h>
  3.  
  4. struct aircraft {
  5.    int wingspan;
  6.    int passengers;
  7.    union {
  8.       float fuel_load;     // for fighters
  9.       float bomb_load;     // for bombers
  10.       int pallets;         // for transports
  11.    };
  12. } fighter, bomber, transport;
  13.  
  14. main()
  15. {
  16.    fighter.wingspan = 40;
  17.    fighter.passengers = 1;
  18.    fighter.fuel_load = 12000.0;
  19.    
  20.    bomber.wingspan = 90;
  21.    bomber.passengers = 12;
  22.    bomber.bomb_load = 14000.0;
  23.    
  24.    transport.wingspan = 106;
  25.    transport.passengers = 4;
  26.    transport.pallets = 42;
  27.    
  28.    transport.fuel_load = 18000.0;
  29.    fighter.pallets = 4;
  30.    
  31.    cout << "The fighter carries " 
  32.                               << fighter.pallets << " pallets.\n";
  33.    cout << "The bomber bomb load is " << bomber.bomb_load << "\n";
  34.    
  35. }
  36.  
  37.  
  38.  
  39.  
  40. // Result of execution
  41. //
  42. // The fighter carries 4 pallets.
  43. // The bomber bomb load is 14000
  44.